﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	[DataContract]
	public enum СтатусыЭД
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"326355e2-6629-41de-91f8-1090e4d7fb21\", \"Представление\":\"Доставлен\"}")]
		Доставлен = 0,//Доставлен получателю
		[EnumMember(Value = "{\"Ссылка\":\"c38dd1ac-8430-4543-928f-3da4221d22fc\", \"Представление\":\"ДоставленоПодтверждение\"}")]
		ДоставленоПодтверждение = 1,//Доставлено подтверждение
		[EnumMember(Value = "{\"Ссылка\":\"d2544aeb-00d9-47ba-ab37-f1c443f522ad\", \"Представление\":\"НеОтправлен\"}")]
		НеОтправлен = 2,//Не отправлен
		[EnumMember(Value = "{\"Ссылка\":\"25d10dc8-587d-44d5-bd63-30d411ba6270\", \"Представление\":\"НеПолучен\"}")]
		НеПолучен = 3,//<Не получен>
		[EnumMember(Value = "{\"Ссылка\":\"25d098b8-66c8-4c29-abbc-3fe882ca13ca\", \"Представление\":\"НеСформирован\"}")]
		НеСформирован = 4,//<Не сформирован>
		[EnumMember(Value = "{\"Ссылка\":\"611be8d5-30b0-478c-bafa-a6d4a0746e11\", \"Представление\":\"Отклонен\"}")]
		Отклонен = 5,
		[EnumMember(Value = "{\"Ссылка\":\"63e5ac95-c3ce-4b91-ac6a-bd75baba6604\", \"Представление\":\"ОтклоненПолучателем\"}")]
		ОтклоненПолучателем = 6,//Отклонен получателем
		[EnumMember(Value = "{\"Ссылка\":\"489fc3f5-28eb-44a6-8c93-2aec2ea5731e\", \"Представление\":\"Отправлен\"}")]
		Отправлен = 7,//Отправлен получателю
		[EnumMember(Value = "{\"Ссылка\":\"0af9b77c-6293-4b30-b0c0-32a558666172\", \"Представление\":\"ОтправленоИзвещение\"}")]
		ОтправленоИзвещение = 8,//Отправлено извещение
		[EnumMember(Value = "{\"Ссылка\":\"8147fa1c-6db8-42ac-8ae1-38f995781581\", \"Представление\":\"ОтправленоПодтверждение\"}")]
		ОтправленоПодтверждение = 9,//Отправлено подтверждение
		[EnumMember(Value = "{\"Ссылка\":\"0916ad18-889d-434a-bb39-9a2b50fc30ff\", \"Представление\":\"ОтправленоУведомление\"}")]
		ОтправленоУведомление = 10,//Отправлено уведомление об уточнении
		[EnumMember(Value = "{\"Ссылка\":\"00383b7c-e3bf-4983-b60e-63771d7f0361\", \"Представление\":\"ОшибкаПередачи\"}")]
		ОшибкаПередачи = 11,//Ошибка передачи
		[EnumMember(Value = "{\"Ссылка\":\"7faa574f-b554-4572-bceb-d3a0913f5694\", \"Представление\":\"ПереданОператору\"}")]
		ПереданОператору = 12,//Отправлен оператору ЭДО
		[EnumMember(Value = "{\"Ссылка\":\"074b0ca7-f5d4-4dcd-8bf1-a61c1f496d95\", \"Представление\":\"ПодготовленКОтправке\"}")]
		ПодготовленКОтправке = 13,//Подготовлен к отправке
		[EnumMember(Value = "{\"Ссылка\":\"82a4ff8c-91db-4418-9bfd-22fc9082e715\", \"Представление\":\"ПодготовленоИзвещение\"}")]
		ПодготовленоИзвещение = 14,//Подготовлено извещение
		[EnumMember(Value = "{\"Ссылка\":\"eb06bef6-fcfb-4893-913c-93a0630ae5fe\", \"Представление\":\"ПодготовленоПодтверждение\"}")]
		ПодготовленоПодтверждение = 15,//Подготовлено подтверждение
		[EnumMember(Value = "{\"Ссылка\":\"48e21a20-9bd5-43f7-a0b8-7dbc6d5d943f\", \"Представление\":\"Подписан\"}")]
		Подписан = 16,
		[EnumMember(Value = "{\"Ссылка\":\"81787b50-53fc-4dff-a51d-abf224429fc6\", \"Представление\":\"ПолностьюПодписан\"}")]
		ПолностьюПодписан = 17,//Полностью подписан
		[EnumMember(Value = "{\"Ссылка\":\"e34f64af-bba6-4422-8849-a782017f09b9\", \"Представление\":\"Получен\"}")]
		Получен = 18,
		[EnumMember(Value = "{\"Ссылка\":\"d1bf037c-e4fd-4e33-8ab0-dd74ca0becf2\", \"Представление\":\"ПолученоИзвещение\"}")]
		ПолученоИзвещение = 19,//Получено извещение
		[EnumMember(Value = "{\"Ссылка\":\"f3e38db6-1d9a-418b-b6cf-6ac6bd18be61\", \"Представление\":\"ПолученоПодтверждение\"}")]
		ПолученоПодтверждение = 20,//Получено подтверждение
		[EnumMember(Value = "{\"Ссылка\":\"0f25159c-f570-42fa-ae34-94c5eb684eb9\", \"Представление\":\"ПолученоПодтверждениеОператора\"}")]
		ПолученоПодтверждениеОператора = 21,//Получено подтверждение оператора
		[EnumMember(Value = "{\"Ссылка\":\"c3834b3b-95ce-4879-9261-f50356d18fe7\", \"Представление\":\"ПолученоУведомление\"}")]
		ПолученоУведомление = 22,//Получено уведомление об уточнении
		[EnumMember(Value = "{\"Ссылка\":\"126ace06-619f-4bd9-83c8-e27ec24ee5c5\", \"Представление\":\"Сформирован\"}")]
		Сформирован = 23,
		[EnumMember(Value = "{\"Ссылка\":\"217c120e-6ed9-46ac-b8b3-80fc97402678\", \"Представление\":\"Утвержден\"}")]
		Утвержден = 24,
		[EnumMember(Value = "{\"Ссылка\":\"61811fe4-9501-4bb5-a2b7-f46a11027512\", \"Представление\":\"ЧастичноПодписан\"}")]
		ЧастичноПодписан = 25,//Частично подписан
	}
	public static partial class СтатусыЭД_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid Доставлен = new Guid("9010f891-d7e4-21fb-41de-6629326355e2");//Доставлен получателю
		public static readonly Guid ДоставленоПодтверждение = new Guid("a43d8f92-1d22-fc22-4543-8430c38dd1ac");//Доставлено подтверждение
		public static readonly Guid НеОтправлен = new Guid("c4f137ab-f543-ad22-47ba-00d9d2544aeb");//Не отправлен
		public static readonly Guid НеПолучен = new Guid("d43063bd-ba11-7062-44d5-587d25d10dc8");//<Не получен>
		public static readonly Guid НеСформирован = new Guid("e83fbcab-ca82-ca13-4c29-66c825d098b8");//<Не сформирован>
		public static readonly Guid Отклонен = new Guid("d4a6faba-74a0-116e-478c-30b0611be8d5");
		public static readonly Guid ОтклоненПолучателем = new Guid("75bd6aac-baba-0466-4b91-c3ce63e5ac95");//Отклонен получателем
		public static readonly Guid Отправлен = new Guid("ec2a938c-a52e-1e73-44a6-28eb489fc3f5");//Отправлен получателю
		public static readonly Guid ОтправленоИзвещение = new Guid("a532c0b0-6658-7261-4b30-62930af9b77c");//Отправлено извещение
		public static readonly Guid ОтправленоПодтверждение = new Guid("f938e18a-7895-8115-42ac-6db88147fa1c");//Отправлено подтверждение
		public static readonly Guid ОтправленоУведомление = new Guid("2b9a39bb-fc50-ff30-434a-889d0916ad18");//Отправлено уведомление об уточнении
		public static readonly Guid ОшибкаПередачи = new Guid("77630eb6-7f1d-6103-4983-e3bf00383b7c");//Ошибка передачи
		public static readonly Guid ПереданОператору = new Guid("a0d3ebbc-3f91-9456-4572-b5547faa574f");//Отправлен оператору ЭДО
		public static readonly Guid ПодготовленКОтправке = new Guid("1ca6f18b-491f-956d-4dcd-f5d4074b0ca7");//Подготовлен к отправке
		public static readonly Guid ПодготовленоИзвещение = new Guid("fc22fd9b-8290-15e7-4418-91db82a4ff8c");//Подготовлено извещение
		public static readonly Guid ПодготовленоПодтверждение = new Guid("a0933c91-0a63-fee5-4893-fcfbeb06bef6");//Подготовлено подтверждение
		public static readonly Guid Подписан = new Guid("bc7db8a0-5d6d-3f94-43f7-9bd548e21a20");
		public static readonly Guid ПолностьюПодписан = new Guid("f2ab1da5-4224-c69f-4dff-53fc81787b50");//Полностью подписан
		public static readonly Guid Получен = new Guid("82a74988-7f01-b909-4422-bba6e34f64af");
		public static readonly Guid ПолученоИзвещение = new Guid("74ddb08a-0bca-f2ec-4e33-e4fdd1bf037c");//Получено извещение
		public static readonly Guid ПолученоПодтверждение = new Guid("c66acfb6-18bd-61be-418b-1d9af3e38db6");//Получено подтверждение
		public static readonly Guid ПолученоПодтверждениеОператора = new Guid("c59434ae-68eb-b94e-42fa-f5700f25159c");//Получено подтверждение оператора
		public static readonly Guid ПолученоУведомление = new Guid("03f56192-d156-e78f-4879-95cec3834b3b");//Получено уведомление об уточнении
		public static readonly Guid Сформирован = new Guid("7ee2c883-4ec2-c5e5-4bd9-619f126ace06");
		public static readonly Guid Утвержден = new Guid("fc80b3b8-4097-7826-46ac-6ed9217c120e");
		public static readonly Guid ЧастичноПодписан = new Guid("6af4b7a2-0211-1275-4bb5-950161811fe4");//Частично подписан
		public static СтатусыЭД Получить(this СтатусыЭД Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static СтатусыЭД Получить(this СтатусыЭД Значение, Guid Ссылка)
		{
			if(Ссылка == Доставлен)
			{
				return СтатусыЭД.Доставлен;
			}
			else if(Ссылка == ДоставленоПодтверждение)
			{
				return СтатусыЭД.ДоставленоПодтверждение;
			}
			else if(Ссылка == НеОтправлен)
			{
				return СтатусыЭД.НеОтправлен;
			}
			else if(Ссылка == НеПолучен)
			{
				return СтатусыЭД.НеПолучен;
			}
			else if(Ссылка == НеСформирован)
			{
				return СтатусыЭД.НеСформирован;
			}
			else if(Ссылка == Отклонен)
			{
				return СтатусыЭД.Отклонен;
			}
			else if(Ссылка == ОтклоненПолучателем)
			{
				return СтатусыЭД.ОтклоненПолучателем;
			}
			else if(Ссылка == Отправлен)
			{
				return СтатусыЭД.Отправлен;
			}
			else if(Ссылка == ОтправленоИзвещение)
			{
				return СтатусыЭД.ОтправленоИзвещение;
			}
			else if(Ссылка == ОтправленоПодтверждение)
			{
				return СтатусыЭД.ОтправленоПодтверждение;
			}
			else if(Ссылка == ОтправленоУведомление)
			{
				return СтатусыЭД.ОтправленоУведомление;
			}
			else if(Ссылка == ОшибкаПередачи)
			{
				return СтатусыЭД.ОшибкаПередачи;
			}
			else if(Ссылка == ПереданОператору)
			{
				return СтатусыЭД.ПереданОператору;
			}
			else if(Ссылка == ПодготовленКОтправке)
			{
				return СтатусыЭД.ПодготовленКОтправке;
			}
			else if(Ссылка == ПодготовленоИзвещение)
			{
				return СтатусыЭД.ПодготовленоИзвещение;
			}
			else if(Ссылка == ПодготовленоПодтверждение)
			{
				return СтатусыЭД.ПодготовленоПодтверждение;
			}
			else if(Ссылка == Подписан)
			{
				return СтатусыЭД.Подписан;
			}
			else if(Ссылка == ПолностьюПодписан)
			{
				return СтатусыЭД.ПолностьюПодписан;
			}
			else if(Ссылка == Получен)
			{
				return СтатусыЭД.Получен;
			}
			else if(Ссылка == ПолученоИзвещение)
			{
				return СтатусыЭД.ПолученоИзвещение;
			}
			else if(Ссылка == ПолученоПодтверждение)
			{
				return СтатусыЭД.ПолученоПодтверждение;
			}
			else if(Ссылка == ПолученоПодтверждениеОператора)
			{
				return СтатусыЭД.ПолученоПодтверждениеОператора;
			}
			else if(Ссылка == ПолученоУведомление)
			{
				return СтатусыЭД.ПолученоУведомление;
			}
			else if(Ссылка == Сформирован)
			{
				return СтатусыЭД.Сформирован;
			}
			else if(Ссылка == Утвержден)
			{
				return СтатусыЭД.Утвержден;
			}
			else if(Ссылка == ЧастичноПодписан)
			{
				return СтатусыЭД.ЧастичноПодписан;
			}
			return СтатусыЭД.ПустаяСсылка;
		}
		public static byte[] Ключ(this СтатусыЭД Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this СтатусыЭД Значение)
		{
			switch (Значение)
			{
				case СтатусыЭД.Доставлен: return Доставлен;
				case СтатусыЭД.ДоставленоПодтверждение: return ДоставленоПодтверждение;
				case СтатусыЭД.НеОтправлен: return НеОтправлен;
				case СтатусыЭД.НеПолучен: return НеПолучен;
				case СтатусыЭД.НеСформирован: return НеСформирован;
				case СтатусыЭД.Отклонен: return Отклонен;
				case СтатусыЭД.ОтклоненПолучателем: return ОтклоненПолучателем;
				case СтатусыЭД.Отправлен: return Отправлен;
				case СтатусыЭД.ОтправленоИзвещение: return ОтправленоИзвещение;
				case СтатусыЭД.ОтправленоПодтверждение: return ОтправленоПодтверждение;
				case СтатусыЭД.ОтправленоУведомление: return ОтправленоУведомление;
				case СтатусыЭД.ОшибкаПередачи: return ОшибкаПередачи;
				case СтатусыЭД.ПереданОператору: return ПереданОператору;
				case СтатусыЭД.ПодготовленКОтправке: return ПодготовленКОтправке;
				case СтатусыЭД.ПодготовленоИзвещение: return ПодготовленоИзвещение;
				case СтатусыЭД.ПодготовленоПодтверждение: return ПодготовленоПодтверждение;
				case СтатусыЭД.Подписан: return Подписан;
				case СтатусыЭД.ПолностьюПодписан: return ПолностьюПодписан;
				case СтатусыЭД.Получен: return Получен;
				case СтатусыЭД.ПолученоИзвещение: return ПолученоИзвещение;
				case СтатусыЭД.ПолученоПодтверждение: return ПолученоПодтверждение;
				case СтатусыЭД.ПолученоПодтверждениеОператора: return ПолученоПодтверждениеОператора;
				case СтатусыЭД.ПолученоУведомление: return ПолученоУведомление;
				case СтатусыЭД.Сформирован: return Сформирован;
				case СтатусыЭД.Утвержден: return Утвержден;
				case СтатусыЭД.ЧастичноПодписан: return ЧастичноПодписан;
			}
			return Guid.Empty;
		}
	}
}